System and method for verifying subscriber data records in a telephone system

ABSTRACT

A consistency verification tool performs a consistency check on subscriber data records stored in the cellular telephone system. One such consistency check analyzes subscriber data records in a home location register (HLR) and a billing system to determine the presence of duplicate records. Duplicate records can be stored in a duplicate record file for later analysis. During the duplicate record consistency analysis, the consistency verification tool creates a record list. The record list can be a linked list structure for storing main records and duplicate records in a manner that facilitates identifying families of duplicate records. The consistency verification tool can also perform inter-device consistency checks. For example, the subscriber data stored on the HLR can be compared to the subscriber data stored in the billing system to ensure that the two systems have consistent subscriber data.

RELATED APPLICATIONS

This application is a continuation of co-pending U.S. application Ser.No. 10/094,641 entitled “System and Method for Verifying Subscriber DataRecords in a Telephone System” filed Mar. 12, 2002, which is related toU.S. application Ser. No. 10/094,614 entitled “System and Method forEnsuring Proper Billing in a Cellular Telephone System” filed Mar. 12,2002, U.S. application Ser. No. 10/094,640 entitled “System and Methodfor Managing CDR Information” filed on Mar. 12, 2002 which issued asU.S. Pat. No. 6,876,731 on Apr. 5, 2005, and U.S. application Ser. No.10/094,642 entitled “System and Method for Generating Computer Code toFacilitate Development of CDR Management Tools” filed on Mar. 12, 2002which issued as U.S. Pat. No. 6,951,009 on Sep. 27, 2005, which areincorporated herein by reference.

BACKGROUND

1. Field of the Invention

The present invention relates generally to the field of telephoneswitching equipment. More specifically, the present invention relates toverifying subscriber information stored in various components of acellular telephone system to ensure that subscribers are correctlybilled for the services they use.

2. Background of the Invention

A critical issue facing cellular telephone companies is ensuringappropriate subscriber billing. For example, it is important to ensurethat subscribers are billed for services they use, and not billed forservices they do not use. Billing errors result in upset customers, andcostly allocation of cellular telephone company resources to locate andfix problems leading to billing errors.

Data regarding particular subscribers and the services that theysubscribe to are usually located in several places in a telephonesystem. A home location register (HLR) stores subscriber data that canbe used by a switch in a cellular telephone network to determine theservices that a subscriber subscribes to. The HLR is generally locatedon a service control point (SCP) of the subscriber's provider of record.The HLR contains data that is used to identify and verify subscribers,as well as data indicating what services subscribers can use and dataused to provide these services.

The data in the HLR is also used when a subscriber is roaming. Asubscriber is roaming when he or she is outside the coverage area of theservice provider of record. When roaming, the visited telephone systemobtains a copy of the subscriber's data record from the roamingsubscriber's HLR and stores it as a temporary record in a visitorlocation register (VLR). The VLR is maintained during the duration ofthe subscriber's roaming. It is used by the visited telephone company toprovide services in accordance with the services identified by thetemporary record stored in the VLR. as well as to provide billingidentification information so the visited system can appropriately billthe roaming subscriber.

Cellular telephone networks also contain a billing system thatcalculates and distributes bills to subscribers for the services theyuse. Like the HLR. the billing system comprises information regardingeach subscriber in the system. The billing data for each subscriberprovides information on the services accessible by the subscriber.

The subscriber data located in both the HLR and billing systems includesdata regarding the services to which each subscriber has subscribed. Theservices can be individual services or bundled in service plans. Aservice plan generally offers a combination of services and servicefeatures at a reduced billing rate. Services include local telephoneservice, long distance telephone service, cellular telephone service,paging service, Internet service and other services. Services forpurposes of the present disclosure also include features such as callerID, call waiting, three-way calling, call return, special ring and otherfeatures.

Services are provided to subscribers based on the subscriber data storedin the HLR. Thus, if subscriber data in the HLR indicates a particularsubscriber has caller ID, that subscriber is provided caller ID whetherthe subscriber is billed for it or not. Also, billing is generated basedon the subscriber data stored in the billing system. Thus, if thesubscriber data in the billing system indicates a particular subscriberhas caller ID, that subscriber is billed for caller ID, whether or notthe subscriber is actually authorized to use caller ID by the subscriberdatabase.

As a result, it is apparent that significant problems can arise if thesubscriber data stored in the HLR and/or the billing system isinconsistent. Such inconsistency can arise if, for example, there areduplicate subscriber records for a particular subscriber that indicatethe subscriber subscribes to different and inconsistent services.

In addition, billing problems can occur if the data stored in the HLRdiffers from the subscriber data stored in the billing system for aparticular subscriber. For example, if subscriber data in the HLRindicates that a subscriber can use a particular service, but thesubscriber data in the billing system indicates the subscriber does nothave access to that service, the subscriber will be able to use theservice but will not be billed for that use. Such use represents a lostrevenue opportunity for the service provider. In addition, this use bythe non-paying subscriber represents a drain on resources that could beused by other subscribers.

Similarly, if subscriber data in the HLR for a particular subscriberindicates that the subscriber docs not have access to a particularservice, but the billing system subscriber data indicates that thesubscriber docs have access to the service, the subscriber will becharged for the service even though the subscriber cannot actually usethe service. This situation leads to complaints from subscribers who arebilled for services they do not use. In addition, expensive telephonecompany resources are required to track, locate and solve the problem.

A significant problem existing in current cellular telephone systems isthat there is no convenient way to compare HLR subscriber data withbilling data for consistency. As a result, problems often go undetectedunless a customer complains to the telephone company due to the improperbilling (which many not happen, for example if the customer is beingunder-billed).

SUMMARY OF THE INVENTION

The present invention provides a solution to the foregoing problems withconventional cellular telephone systems by providing a consistencyverification tool that performs a consistency check on subscriber datarecords stored in the cellular telephone system. For example, in oneembodiment of the present invention, the consistency verification toolanalyzes subscriber data records in a home location register (HLR) andin a billing system to determine the presence of duplicate records.Preferably, duplicate records are stored in a duplicate record file forlater analysis.

During the duplicate record consistency analysis, the consistencyverification tool creates a record list. In one embodiment of thepresent invention, the record list stores subscriber data records andany duplicate subscriber duplicate records in an array structure thatfacilitates identifying the duplicate records. In this embodiment, asorting algorithm can be applied to the array such that after sortingthe array, duplicate records appear adjacent to one another. In anotherembodiment of the present invention, the record list stores main recordsand duplicate records in a linked-list structure that facilitatesidentifying families of duplicate records.

The consistency verification tool can also perform inter-deviceconsistency checks. For example, the subscriber data stored on the HLRcan be compared to the subscriber data stored in the billing system toensure that the two systems have consistent subscriber data.

Performing the consistency checks is important to prevent portions ofthe cellular telephone system from processing subscriber information indifferent ways. For example, determination of inconsistent billingrecords between the HLR and the billing system can avoid the cellulartelephone company billing for services that are not provided or notbilling for services that are provided.

In one embodiment, the present invention is a method for verifyingconsistency of subscriber data record stored on a device in a cellulartelephone network. Such devices include, for example, a billing systemand an HLR. The method begins with the step of reading a new record ofsubscriber data from the device. The new record of subscriber data iscompared to each record of subscriber data stored in a record list. Inone embodiment, the record list is an array of records. After sortingthe array, duplicate records arc adjacent to one another in the array.

In another embodiment, the present invention is a system for verifyingconsistency of subscriber records stored on a device of a cellulartelephone system. The system includes a device on which subscriberrecords are stored. A consistency verification tool coupled to thedevice reads subscriber records from the device and stores them inmemory. Subscriber records are then read from the billing system. Eachrecord is compared to the subscriber data records that are in memory.The consistency verification tool determines whether the new subscriberdata record matches a record in the record list, and stores the newsubscriber data record in the record list or on disk in accordance withthis determination.

In another embodiment, the present invention is a method for verifyingsubscriber data stored on a source device and target device in acellular telephone system. The method begins with the step of reading anew subscriber record from the source device. The new subscriber recordis compared to each subscriber record in the target device, or until amatching record in the target device is found. The new subscriber recordis stored in a non-matching file if the new subscriber record matches norecord in the target device. The method continues for each record in thesource device until there are no more records in the source device.

In another embodiment, the present invention is a system for verifyingsubscriber data stored on a source device with subscriber data stored ona target device. The system includes a source device containing aplurality of subscriber data records and a target device containing aplurality of subscriber data records. The subscriber data records on thesource device are compared to the subscriber data records on the targetdevice. The system also include a consistency verification tool thatreads each subscriber record from the source device and compares it tosubscriber data records in the target device until a match is found. Ifno match is found, the non-matching subscriber data record from thesource file is stored in a non-match file.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of a system for verifying subscriber datarecords in a cellular telephone system according to an embodiment of thepresent invention. The terms “subscriber data record” and “subscriberrecord” are used herein interchangeably.

FIG. 2 is a flow chart of a method for performing a duplicateconsistency check according to an embodiment of the present invention.

FIG. 3 illustrates reordering of a record list using a sorting algorithmaccording to an embodiment of the present invention.

FIG. 4 is a How chart of a method for performing a duplicate consistencycheek according to another embodiment of the present invention.

FIG. 5 is an exemplary record list according to an embodiment of thepresent invention using a linked list.

FIG. 5 A is an exemplary main record structure for a record listaccording to an embodiment of the present invention using a linked list.

FIG. 5B is an exemplary duplicate record structure for a record listaccording to an embodiment of the present invention using a linked list.

FIG. 6 is a flow chart for a method of comparing subscriber recordsstored on a source and target device according to an embodiment of thepresent invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 is a schematic diagram illustrating a system for verifyingsubscriber data records in a cellular telephone system according to anembodiment of the present invention. A switch 102 is coupled to an IILR103. HLR 103 comprises a disk 104. Disk 104 stores subscriber data.Preferably, disk 104 stores the subscriber data in a plurality ofsubscriber records. Disk 104 can be any data storage medium including,for example, disk, tape, CD-ROM or any other data storage medium. Thesubscriber records include data related to services available to eachsubscriber that is homed on switch 1 (12. Examples of services includelocal telephone service, long distance service, cellular service, pagingservice, and Internet service and other services, as well as featuressuch as caller ID, call waiting, three-way calling, call forwarding andother features.

A billing system 106 generates billing for all of or for a portion ofthe cellular telephone system. Billing system 106 includes a disk 109.Disk 109 stores subscriber data. Preferably, disk 109 stores thesubscriber data in a plurality of subscriber records. Disk 109 can beany data storage medium including, for example, disk, tape, CD-ROM orany other data storage medium. Like the subscriber data stored on disk104 in HLR 103, the subscriber data stored on disk 109 includes datarelated to the services that a subscriber billed by billing system 106has access to. Exemplary services are described above.

A computer 107 is coupled to both HLR 103 and billing system 106.Computer 107 executes a consistency verification tool 108. Consistencyverification tool 108 can perform a number of verification functions. Inone verification function, consistency verification tool 108 analyzesthe HLR subscriber data and/or billing subscriber data to determine thepresence of duplicate records. Consistency verification tool 108 reportsany duplicate records it discovers during its analysis.

There are several reasons why duplicate records might be found in thesubscriber data stored in HLR 103 and/or in subscriber data stored inbilling system 106. For example, a subscriber may be homed on severalHLRs; a subscriber may be assigned multiple phone numbers for a singlecellular telephone serial number (which could indicate a nonsensicalsituation); or a subscriber may have a single telephone number assignedto multiple cellular telephone serial numbers. Consistency verificationtool 108 can also store duplicate records in a duplicate record file116. These records can be analyzed later to determine why there areduplicate records.

Duplicate records need not be identical in their entirety. Rather,duplicate records are those records that have inconsistent informationregarding the services subscribed to by a particular subscriber. Forexample, suppose there are two records for a particular subscriber thatindicate the subscriber subscribes to a different set of services. How aparticular subscriber is treated in such a case depends on how serviceprovision is implemented in the cellular telephone system. For example,the subscriber may have access to all of the services in the multiplerecords. Alternatively, the subscriber may have access to the servicesidentified in only one of the multiple records. Alternatively, thesubscriber may be given an error condition indicating that the callcannot be completed. In the latter case, the subscriber is not allowedaccess to the cellular telephone system until the problem is resolved.

A method for performing a duplicate consistency check according to anembodiment of the present invention is now described. The method beginswith the step of creating a record list. Creation of the record list canbe a declaration of a structure into which record-matching criteriarelated to records can be stored. In one embodiment of the presentinvention, the record list structure is an array. In an alternativeembodiment of the present invention, described below, the record liststructure is a linked list. The record list can be any data structureinto which whole or partial subscriber data records can be stored.

The method continues with the step of reading a new subscriber datarecord from a subscriber data source file. In the present invention, thesubscriber data source file is preferably a file comprising subscriberdata from HLR 103 or billing system 106. The method continues with thestep of comparing the new subscriber data record to record-matchingcriteria for records in the record list. Records that match are termedduplicate records. If there is no match, a new entry is created in therecord list. The method continues by determining if there are morerecords to check. If there are more records, process repeats. If thereare no more records, the process ends.

If a duplicate record is found, the duplicate record is preferablystored as a duplicate in the record list. This can be stored in aseparate list or as part of the record list itself as described below.Duplicate records can be stored in file 116.

As described above, the record list according to one embodiment of thepresent invention is an array structure comprising record list elements.The record list elements correspond to specific records in thesubscriber data records. The record list elements can comprise some orall of the record data stored in their corresponding subscriber datarecords.

FIG. 2 is a flow chart for a method for performing a duplicateconsistency check according to an embodiment of the present invention.The embodiment illustrated in the flow chart of FIG. 2 uses a recordlist having an array structure. The method begins in step 202. In step204, the subscriber data records are read into a record list.Preferably, all of the subscriber data records from the HLR or billingsystem are read into the record list.

For example, FIG. 3 illustrates a record list 302 having an arraystructure into which five exemplary records arc stored. As shown in FIG.3, record list 302 comprises five records: record 1, record 2, record 3,record 4 and record 5. Record 1 comprises serial number 1 and telephonenumber 1. Record 2 comprises serial number 2 and telephone number 2.Record number 3 comprises serial number 1 and telephone number 1. Recordnumber 4 comprises serial number 4 and telephone number 1. Finally,record number 5 comprises serial number 2 and telephone number 2. Record3 is a duplicate of record land record 5 is a duplicate of record 2.

The method continues in step 206 with the step of sorting the recordelements in the record list according to one or more match criteria. Thematch criteria can be any desired data that can be stored in the recordelements of the record list. For example, in one embodiment of thepresent invention, the match criteria are the telephone number andserial number associated with the mobile telephone. The sortingalgorithm can be any of a number of well-known sorting algorithms forsorting the data in the record list according to the match criteria. Onesuch sorting algorithm for sorting the record elements in the recordlist according to the match criteria, for example, is the well-knownquick sort algorithm.

In step 208 any duplicate records are identified. The present inventionfacilitates this identification because, after sorting, any duplicaterecords appear in consecutive record elements. FIG. 3 also illustrates arecord list 304 that results sorting the records in record list 302according to the match criteria of telephone number and serial number.After sorting, the order of the record elements in record list 304 isrecord 1, record 3, record 2, record 5 and record 4. As can be seenrecord land record 3 are duplicates. As such record 1 and record 3appear in consecutive record elements as a result of sorting. Likewise,record 2 and record 5 are duplicate records. As such, they too appear inconsecutive records as a result of sorting.

Returning to the description of the method of FIG. 2, the record data inthe record list can be analyzed at this point. For example, the recordlist can be stored in a file in a viewable format. Preferably however,in step 210. the duplicate records are stored in a duplicate record filethat can be later analyzed. The method then ends in step 212.

A method for performing a duplicate consistency check according toanother embodiment of the present invention is illustrated in the flowchart of FIG. 4. The method illustrated by the flow chart of FIG. 4 canbe used for other record list structures in addition to arrays. Forexample, the method illustrated by the flow chart of FIG. 4 can be usedfor a record list structure that is a linked list. The method begins instep 401. In step 402, the method continues with the step of creating arecord list. Creation of the record list can be a declaration of astructure into which record-matching criteria related to records can bestored. In step 404, the method continues with the step of reading a newsubscriber data record from a subscriber data source file. In thepresent invention, the subscriber data source is preferably a filecomprising subscriber data from HLR 103 or billing system 106. In step406, the method continues with the step of comparing the new subscriberdata record to record-matching criteria for records in the record list.As described above, the record matching criteria can be some or all of asubscriber data record. Records that match are termed duplicate records.

If there is no match, the method continues in step 410 with the step ofcreating a new entry in the record list, and storing informationcorresponding to the non-matching record in the record list. Thisinformation can be the non-matching record itself, the match criteria orsome other subset of the non-matching record. If the entire non-matchingrecord is not stored, the information also includes an identification ofthe non-matching record corresponding to the match criteria.

If a duplicate record is found in step 408, the informationcorresponding to the duplicate record is stored in step 411. In oneembodiment of the present invention, the information corresponding tothe duplicate record is stored in a separate duplicate records list instep 411. In an alternative embodiment of the present invention, theinformation corresponding to the duplicate record is stored in therecord list itself in step 411. This information can be the duplicaterecord itself, the match criteria or some other subset of the duplicaterecord. If the entire duplicate record is not stored, the informationalso includes an identification of the duplicate record corresponding tothe match criteria. Duplicate records can also be stored in duplicaterecords file 116 for later analysis.

The method continues in step 412 by determining if there are morerecords to check. If there are more records, the method continues instep 404. If there are no more records, the method ends in step 414.

In an embodiment of the present invention, the record list is a linkedlist structure as shown, for example, by record list 501 in FIG. 5.Record list 501 has elements 502, 504, 506, 508, 510, 512 and 514. Theserecord list elements represent specific records in the linked list.

Record elements 502, 508, 512 and 514 have a similar structure, and aretermed main records. A main record does not match any other main recordin record list 501. A record becomes a main record, if when tested, therecord does not match any other main record in record list 501.

The structure of a main record according to an embodiment of the presentinvention is described using exemplary main record 520 shown in FIG. 5A.Main record 520 preferably has four elements. A match criteria structure522 includes any portion of the data in a subscriber data record.Alternatively, the match criteria structure includes the entiresubscriber data record. The match criteria are the criteria used tomatch records to determine the presence of duplicate records. Forexample, match criteria can be the subscriber name and telephone number.In this case, if a record is found to have the same subscriber name andtelephone number, the record is considered a match, otherwise there isno match.

A record ID 524 identifies the actual subscriber data record in the HLRor billing system that record 520 corresponds to. A duplicate pointer526 points to the address of the next matching record if one exists.Otherwise duplicate pointer 526 is assigned the value NULL. A NULL valuefor duplicate pointer 526 indicates that record has no further duplicaterecords in its chain. A next pointer 528 points to the address of thenext main record in record list 501 if one exists. If there are noadditional main records, next pointer 528 is assigned the value NULL. ANULL value for next pointer 528 indicates that record is the last mainrecord in the chain of main records in record list 501.

Record list 501 elements 504. 506 and 510 have the same structure. Therecords corresponding to elements 504, 506 and 510 matched one of themain records during the consistency check. Such records are calledduplicate records. The structure of these duplicate record elements isshown in FIG. 5B by a duplicate record structure 530.

A record ID 532 identifies the actual subscriber data record in the HLRor billing system corresponding to matching record 530. A duplicatepointer 534 points to the address of the next duplicate record if anyexists. If there are no more matching records, duplicate pointer 534points to NULL. A NULL value for duplicate pointer 534 indicates thelast record in that family of duplicate records.

It should be noted that any subscriber data record can correspond to amain record or a duplicate record. A main record simply indicates thatthere was no match for the record at the time the record is compared torecords in record list 501.

Consistency verification tool 108 can also be used to compare thesubscriber data records in HLR 103 with subscriber data records inbilling system 106. In an embodiment of the present invention, matchingrecords are stored in a matched record file 110, and unmatched recordsare stored in an unmatched records file 112.

Comparing the subscriber data in billing system 106 with subscriber datain HLR 103 can be used to assure that switch 102 provides correct calldetail records to billing system 106. For example, if subscriber datafor a particular subscriber in HLR 103 indicates that a subscriber is apostpaid customer, whereas the subscriber data in billing system 106indicates that the subscriber is a prepaid subscriber, all call detailrecords CDRs related to the subscriber's telephone calls are forwardedby switch 102 to billing system 106. Billing system 106 looks at theCDRs and discards them because it treats the subscriber as a prepaidsubscriber. Consequently, billing system 106 does not process the CDRs,because it is programmed to treat prepaid CDRs as if they have alreadybeen paid and recorded in a prepaid platform.

To prevent such errors, consistency verification tool 108 compares thesubscriber data in billing system 106 to the subscriber data in HLR 103.To perform this compare function, consistency verification tool 108compares each subscriber record in HLR 103 with each subscriber recordin billing system 106, and vice versa.

The comparison is a comparison of subscriber services as they are storedon HLR 103 and billing system 106. In some instances, bundles ofservices are classified by a single name. In these cases, the individualservice for each service that a subscriber subscribes to are unbundledso they can be compared on an individual rather than bundled basis. Thisensures that all subscriber data is compared.

In one embodiment, consistency verification tool 108 performs thecompare function according to the method shown by the flow chart of FIG.6. The method begins in step 601. In step 602, consistency verificationtool 108 reads the subscriber records from a target device. The targetdevice is the device on which the presence of a subscriber recordmatching the subscriber record read from the source device is beingdetermined. For example, according to an embodiment of the presentinvention, the target device is preferably disk 104 or disk 109,whichever is not the source device.

In step 604, the subscriber records read from the target device aresorted. The sorting is performed using pre-determined criteria. Forexample, in an embodiment of the present invention, the subscriberrecords from the target device are sorted according to the serial numberand telephone number stored in the subscriber record. Any sortingalgorithm can be used to perform the sorting of step 604. For example,the well-known quick sort algorithm can be used.

Preferably all subscriber records are read from the target device instep 602. Alternatively, a portion of subscriber records from the targetdevice is read into a computer memory 117 or local disk 114. If only aportion of the subscriber records is read, then steps 602 and 604 arerepeated with additional portions of memory read in from the targetdevice. The repetition is performed until a matching record is found orall subscriber records stored on the target device have been processed.

In step 606, consistency verification tool 108 reads a subscriber recordfrom a source device. According to an embodiment of the presentinvention, the source device is either disk 104, which stores subscriberdata on HLR 103, or disk 109, which stores subscriber data on billingsystem 106.

Consistency verification tool 108 can use any of the data in the sourcedevice subscriber data record as the basis of the search. For example,in an embodiment of the present invention, the search is performed usingthe serial number and telephone number associated with the source devicesubscriber record. Any search algorithm can be used to search the sortedtarget device subscriber records in step 608. Preferably, the well-knownbinary search algorithm is used.

In step 610, consistency verification tool 108 determines if there is arecord in the target device that matches the source device subscriberdata record. If there is no such matching record, then there is an errorcondition. Consistency verification tool 108 continues the method byreporting the error condition in step 612. In addition, consistencyverification tool 108 can store and/or print the non-matching sourcedevice.

The error condition depends on the specific search comparison beingperformed. For example, where HLR 103 is the source device and billingsystem 106 is the target device, the lack of a matching record in thetarget device means that there is a record in HLR 103 for which there isno corresponding record in billing system 106. As a result, a customerwould have access to service, but billing system 106 would not know howto bill them. This situation could result in the customer receivingservice free of charge and lost revenues to the cellular telephonecompany. Similarly, where billing system 106 is the source device andHLR 103 is the target device, the lack of a matching record in thetarget device means that there is a record in billing system 106 forwhich there is no corresponding record in billing system 103. As aresult, a customer would be billed for service that the customer doesnot receive.

If consistency verification tool 108 detects a matching record in step610, it continues in step 614 by determining if the source devicesubscriber record fully matches the L matching record in the targetdevice. If the match is not complete there is a potential errorcondition, which consistency verification tool 108 reports in step 616.In addition, consistency verification tool 108 can store and/or printthe source device and partially matching target device subscriberrecords.

The consequence of partially matching records depends on the kind oferror. For example, one error condition involves incorrectly classifyinga customer. The customer may be classified as being a pre-paid customer,when the customer is actually a post-paid customer or vice verse. Asdescribed above, this condition often leads to improper billing and/orlost revenues. Another possibility is that a customer may be listed asactive by the source device record but inactive or suspended by thetarget device record. Again, this condition likely leads to improperbilling and/or lost revenues. Another possible consequence of partialmatching records is that the customer may be getting services he or sheis not paying for or paying for services he or she is not getting. Otherpotential error conditions would be known to those skilled in the art.

If there is a complete match determined in step 614, consistencyverification tool 108 continues the method in step 618 by reporting thatthe source device subscriber record successfully matched a target devicesubscriber data record.

Consistency verification tool 108 continues the method in step 619 withthe step of determining whether there is are more source devicesubscriber records to process. If there are more source devicesubscriber records to process, the method continues in step 606 with thestep of reading the next source device subscriber record. Thus, themethod of FIG. 6 can be executed to compare one or more source devicesubscriber records with the target device subscriber records. Ifconsistency verification tool 108 determines that there are no moresource device subscriber records to process in step 619, the method endsin step 620.

The foregoing disclosure of the preferred embodiments of the presentinvention has been presented for purposes of illustration anddescription. It is not intended to be exhaustive or to limit theinvention to the precise forms disclosed. Many variations andmodifications of the embodiments described herein will be apparent toone of ordinary skill in the art in light of the above disclosure. Thescope of the invention is to be defined only by the claims appendedhereto, and by their equivalents.

Further, in describing representative embodiments of the presentinvention, the specification may have presented the method and/orprocess of the present invention as a particular sequence of steps.However, to the extent that the method or process does not rely on theparticular order of steps set forth herein, the method or process shouldnot be limited to the particular sequence of steps described. As one ofordinary skill in the art would appreciate, other sequences of steps maybe possible. Therefore, the particular order of the steps set forth inthe specification should not be construed as limitations on the claims.In addition, the claims directed to the method and/or process of thepresent invention should not be limited to the performance of theirsteps in the order written, and one skilled in the art can readilyappreciate that the sequences may be varied and still remain within thespirit and scope of the present invention.

1-31. (canceled)
 32. A method for verifying record consistency, themethod comprising: storing a new subscriber record into a subscriberlist; sorting the subscriber list such that duplicate subscriber recordsare stored in consecutive record elements in the record list; andidentifying a duplicate record in the record list wherein the duplicaterecord corresponds to at least one of the following: the subscriberbeing improperly billed and the subscriber receiving servicesinconsistent to what services were being billed to the subscriber. 33.The method of claim 32, wherein identifying a duplicate record furthercomprises identifying a duplicate record in the record list, wherein theduplicate record exists due to a subscriber being homed on more than onehome location register.
 34. The method of claim 32, further comprisingsorting the subscriber list according to one or more matching criteria.35. The method of claim 34, wherein the matching criteria include atelephone number of a cellular telephone.
 36. The method of claim 32,wherein identifying a duplicate record further comprises identifying aduplicate record in the record list, wherein the duplicate record existsdue to a single telephone number being assigned to multiple cellulartelephone serial numbers.
 37. The method of claim 32, further comprisingstoring the duplicate record in a duplicate file.
 38. A system forverifying consistency of a subscriber record, comprising: means forreading the subscriber record from a plurality of subscriber records,wherein the subscriber records comprise data related to servicesavailable to each subscriber; means for verifying the consistency of aconsistency of the subscriber record, wherein the means for verifyingthe constancy of the subscriber record comprises means for determiningwhen the subscriber record contains inconsistent information regardingservices subscribed to by a subscriber, wherein the inconsistentinformation corresponds to at least one of the following: the subscriberbeing improperly billed and the subscriber receiving servicesinconsistent to what services were being billed to the subscriber. 39.The system of claim 38, wherein the means for reading the subscriberrecord comprises means for reading the subscriber record from a homelocation register.
 40. The system of claim 38, wherein the means forreading the subscriber record comprises means for reading the subscriberrecord from a billing system.
 41. The system of claim 38, furthercomprising: means for comparing a first classification of the subscriberrecord to a second classification of a plurality of subscriber records;means for identifying a duplicate record, wherein the duplicate recordexists due to a subscriber being homed on more than one home locationregister.
 42. The system of claim 38, further comprising means forsorting the subscriber records according to one or more matchingcriteria.
 43. The system of claim 38, further comprising: means forcomparing a first classification of the subscriber record to a secondclassification of a plurality of subscriber records; means foridentifying a duplicate record, wherein the duplicate record exists dueto a single telephone number being assigned to multiple cellulartelephone serial numbers.
 44. The system of claim 38, further comprisingmeans for storing the duplicate record in a duplicate file.
 45. A methodfor verifying record consistency, the method comprising: reading a newrecord of subscriber subscription data; comparing the new record ofsubscriber subscription data to each record of subscriber subscriptiondata; and if no match is found when comparing the new record, reportingan error indicating that a customer is incorrectly classified in aclassification that corresponds to at least one of the following: thecustomer being improperly billed and the customer receiving servicesinconsistent to what services were being billed to the customer.
 46. Themethod of claim 45, wherein reading the new record comprises reading thenew record from a home location register.
 47. The method of claim 45,wherein reading the new record comprises reading the new record from abilling system.
 48. The method of claim 45, wherein reporting the errorindicator further comprises storing the duplicate record in a duplicatefile.
 49. The method of claim 45, further comprising identifying aduplicate record, wherein the duplicate record exists due to a singletelephone number being assigned to multiple cellular telephone serialnumbers.
 50. The method of claim 45, further comprises sorting thesubscriber data records according to one or more matching criteria. 51.The method of claim 50, wherein the matching criteria include atelephone number of a cellular telephone.
 52. The method of claim 45,further comprising identifying a duplicate record, wherein the duplicaterecord exists due to a subscriber being stored on more than one homelocation register.
 53. (canceled)